---
title: ServiceMessage
summary: API reference for ServiceMessage.
status: draft
owner: SAIF BOF documentation team
last_reviewed: 2026-08-21
library: SAIF.Application
reference_type: embedded
---

# ServiceMessage

`ServiceMessage` is an immutable key/message/type tuple representing a single result message produced by a service-style application manager (`clsServiceAppManagerBase`). Instances are aggregated and type-filtered by `ServiceResponse` ([Build a service-style result](../../operations-processes.md)).

## Purpose
- Represent a single service-result message with an associated key, text, and classification (`ServiceMessageType`).

## Context
- Namespace: `SAIF.Application`
- Assembly/package: `SAIF.Application` (embedded library, in `Service Based\`)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Key` | `Public ReadOnly Property Key As String` | Identifies the source/category of this message (e.g., a field or rule key). |
| `Message` | `Public ReadOnly Property Message As String` | The human-readable message text. |
| `Type` | `Public ReadOnly Property Type As ServiceMessageType` | Classifies the message as `Error`, `Warning`, `Information`, or `Environment`. |
| `New` | `Public Sub New(inKey As String, inMessage As String, inType As ServiceMessageType)` | Constructs an immutable message instance from the supplied key, text, and type. |
| `ToString` | `Public Overrides Function ToString() As String` | Returns a string representation of the message for display/logging. |

## Behavioral notes
- All properties are read-only; instances are immutable once constructed.

## Constraints and usage notes
- Instances are typically constructed by `ServiceResponse.AddErrorMessage`/`AddWarningMessage`/`AddInformationMessage`/`AddEnvironmentMessage` rather than directly by callers.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `SAIF.Application\Service Based\ServiceMessage.vb`
